package org.aspire.graphics;

/******************************************************************************
 * The <code>Transparency</code> interface defines the common transparency
 * modes for implementing classes.
 * 
 * @author JPACarabuena
 *****************************************************************************/
public interface Transparency {
	
	// ========================================================================
	// Final Fields
	// ========================================================================

    /**************************************************************************
     * Represents image data that is guaranteed to be completely opaque,
     * meaning that all pixels have an alpha value of 1.0.
     *************************************************************************/
    public final static int OPAQUE            = 1;

    /**************************************************************************
     * Represents image data that is guaranteed to be either completely
     * opaque, with an alpha value of 1.0, or completely transparent,
     * with an alpha value of 0.0.
     *************************************************************************/
    public final static int BITMASK = 2;

    /**************************************************************************
     * Represents image data that contains or might contain arbitrary
     * alpha values between and including 0.0 and 1.0.
     *************************************************************************/
    public final static int TRANSLUCENT        = 3;
	// ========================================================================
	// Getters & Setters
	// ========================================================================

    /**************************************************************************
     * Returns the type of this <code>Transparency</code>.
     * 
     * @return the field type of this <code>Transparency</code>, which is
     *			either OPAQUE, BITMASK or TRANSLUCENT.
     *************************************************************************/
    public int getTransparency();
    
	// ========================================================================
	// Override Methods
	// ========================================================================

	// ========================================================================
	// Methods
	// ========================================================================

	// ========================================================================
	// Inner & Anonymous Classes
	// ========================================================================
}
